package com.jinmdz.fmis.dao.model.settlement;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.constant.EDictCode;
import com.jinmdz.fmis.dao.base.BaseItem;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 费用结算付款信息
 *
 * @author LiCongLu
 * @date 2020-02-19 11:19
 */
public class ChargeSettlePayItem extends BaseItem {
    /**
     * 业务编码
     */
    private String businessCode;

    /**
     * 费用结算外键
     */
    private Integer chargeSettleId;

    /**
     * 付款方式编码
     */
    private Integer payTypeCode;

    /**
     * 付款方式编码
     */
    @AnDict(dict = EDictCode.PAY_TYPE, ref = "payTypeCode")
    private String payType;

    /**
     * 付款金额
     */
    private BigDecimal payCharge;

    /**
     * 付款时间
     */
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date payTime;

    /**
     * 随机码
     */
    private String randomCode;

    public String getBusinessCode() {
        return businessCode;
    }

    public ChargeSettlePayItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public Integer getChargeSettleId() {
        return chargeSettleId;
    }

    public ChargeSettlePayItem setChargeSettleId(Integer chargeSettleId) {
        this.chargeSettleId = chargeSettleId;
        return this;
    }

    public Integer getPayTypeCode() {
        return payTypeCode;
    }

    public ChargeSettlePayItem setPayTypeCode(Integer payTypeCode) {
        this.payTypeCode = payTypeCode;
        return this;
    }

    public String getPayType() {
        return payType;
    }

    public ChargeSettlePayItem setPayType(String payType) {
        this.payType = payType;
        return this;
    }

    public BigDecimal getPayCharge() {
        return payCharge;
    }

    public ChargeSettlePayItem setPayCharge(BigDecimal payCharge) {
        this.payCharge = payCharge;
        return this;
    }

    public Date getPayTime() {
        return payTime;
    }

    public ChargeSettlePayItem setPayTime(Date payTime) {
        this.payTime = payTime;
        return this;
    }

    public String getRandomCode() {
        return randomCode;
    }

    public ChargeSettlePayItem setRandomCode(String randomCode) {
        this.randomCode = randomCode;
        return this;
    }
}
